#ifndef _CkZip_H
#define _CkZip_H
#include "Chilkat_C.h"

HCkZip CkZip_Create(void);
void CkZip_Dispose(HCkZip handle);
void CkZip_getAppendFromDir(HCkZip handle, HCkString retval);
void CkZip_putAppendFromDir(HCkZip handle, const char *newVal);
void CkZip_getAutoRun(HCkZip handle, HCkString retval);
void CkZip_putAutoRun(HCkZip handle, const char *newVal);
void CkZip_getAutoRunParams(HCkZip handle, HCkString retval);
void CkZip_putAutoRunParams(HCkZip handle, const char *newVal);
BOOL CkZip_getAutoTemp(HCkZip handle);
void CkZip_putAutoTemp(HCkZip handle, BOOL newVal);
BOOL CkZip_getCaseSensitive(HCkZip handle);
void CkZip_putCaseSensitive(HCkZip handle, BOOL newVal);
BOOL CkZip_getClearArchiveAttribute(HCkZip handle);
void CkZip_putClearArchiveAttribute(HCkZip handle, BOOL newVal);
void CkZip_getComment(HCkZip handle, HCkString retval);
void CkZip_putComment(HCkZip handle, const char *newVal);
void CkZip_getDecryptPassword(HCkZip handle, HCkString retval);
void CkZip_putDecryptPassword(HCkZip handle, const char *newVal);
BOOL CkZip_getDiscardPaths(HCkZip handle);
void CkZip_putDiscardPaths(HCkZip handle, BOOL newVal);
long CkZip_getEncryptKeyLength(HCkZip handle);
void CkZip_putEncryptKeyLength(HCkZip handle, long newVal);
void CkZip_getEncryptPassword(HCkZip handle, HCkString retval);
void CkZip_putEncryptPassword(HCkZip handle, const char *newVal);
long CkZip_getEncryption(HCkZip handle);
void CkZip_putEncryption(HCkZip handle, long newVal);
void CkZip_getExeDefaultDir(HCkZip handle, HCkString retval);
void CkZip_putExeDefaultDir(HCkZip handle, const char *newVal);
BOOL CkZip_getExeFinishNotifier(HCkZip handle);
void CkZip_putExeFinishNotifier(HCkZip handle, BOOL newVal);
void CkZip_getExeIconFile(HCkZip handle, HCkString retval);
void CkZip_putExeIconFile(HCkZip handle, const char *newVal);
BOOL CkZip_getExeNoInterface(HCkZip handle);
void CkZip_putExeNoInterface(HCkZip handle, BOOL newVal);
BOOL CkZip_getExeSilentProgress(HCkZip handle);
void CkZip_putExeSilentProgress(HCkZip handle, BOOL newVal);
void CkZip_getExeSourceUrl(HCkZip handle, HCkString retval);
void CkZip_putExeSourceUrl(HCkZip handle, const char *newVal);
void CkZip_getExeTitle(HCkZip handle, HCkString retval);
void CkZip_putExeTitle(HCkZip handle, const char *newVal);
void CkZip_getExeUnzipCaption(HCkZip handle, HCkString retval);
void CkZip_putExeUnzipCaption(HCkZip handle, const char *newVal);
void CkZip_getExeUnzipDir(HCkZip handle, HCkString retval);
void CkZip_putExeUnzipDir(HCkZip handle, const char *newVal);
BOOL CkZip_getExeWaitForSetup(HCkZip handle);
void CkZip_putExeWaitForSetup(HCkZip handle, BOOL newVal);
void CkZip_getExeXmlConfig(HCkZip handle, HCkString retval);
void CkZip_putExeXmlConfig(HCkZip handle, const char *newVal);
int CkZip_getFileCount(HCkZip handle);
void CkZip_getFileName(HCkZip handle, HCkString retval);
void CkZip_putFileName(HCkZip handle, const char *newVal);
BOOL CkZip_getHasZipFormatErrors(HCkZip handle);
void CkZip_getLastErrorHtml(HCkZip handle, HCkString retval);
void CkZip_getLastErrorText(HCkZip handle, HCkString retval);
void CkZip_getLastErrorXml(HCkZip handle, HCkString retval);
long CkZip_getNumEntries(HCkZip handle);
long CkZip_getOemCodePage(HCkZip handle);
void CkZip_putOemCodePage(HCkZip handle, long newVal);
BOOL CkZip_getPasswordProtect(HCkZip handle);
void CkZip_putPasswordProtect(HCkZip handle, BOOL newVal);
void CkZip_getPathPrefix(HCkZip handle, HCkString retval);
void CkZip_putPathPrefix(HCkZip handle, const char *newVal);
void CkZip_getProxy(HCkZip handle, HCkString retval);
void CkZip_putProxy(HCkZip handle, const char *newVal);
void CkZip_getTempDir(HCkZip handle, HCkString retval);
void CkZip_putTempDir(HCkZip handle, const char *newVal);
BOOL CkZip_getTextFlag(HCkZip handle);
void CkZip_putTextFlag(HCkZip handle, BOOL newVal);
BOOL CkZip_getUtf8(HCkZip handle);
void CkZip_putUtf8(HCkZip handle, BOOL newVal);
void CkZip_getVersion(HCkZip handle, HCkString retval);
BOOL CkZip_AddEmbedded(HCkZip handle, const char *exeFilename, const char *resourceName, const char *zipFilename);
HCkZipEntry CkZip_AppendBase64(HCkZip handle, const char *fileName, const char *data);
HCkZipEntry CkZip_AppendCompressed(HCkZip handle, const char *fileName, HCkByteData data);
HCkZipEntry CkZip_AppendData(HCkZip handle, const char *fileName, HCkByteData data);
HCkZipEntry CkZip_AppendData2(HCkZip handle, const char *fileName, const char *data, unsigned long dataLen);
BOOL CkZip_AppendFiles(HCkZip handle, const char *filePattern, BOOL recurse);
BOOL CkZip_AppendFilesEx(HCkZip handle, const char *filePattern, BOOL recurse, BOOL saveExtraPath, BOOL archiveOnly, BOOL includeHidden, BOOL includeSystem);
HCkZipEntry CkZip_AppendHex(HCkZip handle, const char *fileName, const char *data);
BOOL CkZip_AppendMultiple(HCkZip handle, HCkStringArray fileSpecs, BOOL recurse);
HCkZipEntry CkZip_AppendNew(HCkZip handle, const char *fileName);
HCkZipEntry CkZip_AppendNewDir(HCkZip handle, const char *dirName);
BOOL CkZip_AppendOneFileOrDir(HCkZip handle, const char *fileOrDirName, BOOL saveExtraPath);
HCkZipEntry CkZip_AppendString(HCkZip handle, const char *fileName, const char *str);
HCkZipEntry CkZip_AppendString2(HCkZip handle, const char *fileName, const char *str, const char *charset);
BOOL CkZip_AppendZip(HCkZip handle, const char *zipFileName);
void CkZip_CloseZip(HCkZip handle);
BOOL CkZip_DeleteEntry(HCkZip handle, HCkZipEntry entry);
void CkZip_ExcludeDir(HCkZip handle, const char *dirName);
BOOL CkZip_Extract(HCkZip handle, const char *dirPath);
BOOL CkZip_ExtractInto(HCkZip handle, const char *dirPath);
BOOL CkZip_ExtractMatching(HCkZip handle, const char *dirPath, const char *pattern);
BOOL CkZip_ExtractNewer(HCkZip handle, const char *dirPath);
HCkZipEntry CkZip_FirstEntry(HCkZip handle);
HCkZipEntry CkZip_FirstMatchingEntry(HCkZip handle, const char *pattern);
void CkZip_GetDirectoryAsXML(HCkZip handle, HCkString xml);
HCkZipEntry CkZip_GetEntryByID(HCkZip handle, long entryID);
HCkZipEntry CkZip_GetEntryByIndex(HCkZip handle, long index);
HCkZipEntry CkZip_GetEntryByName(HCkZip handle, const char *entryName);
HCkStringArray CkZip_GetExclusions(HCkZip handle);
void CkZip_GetExeConfigParam(HCkZip handle, const char *name, HCkString value);
HCkZipEntry CkZip_InsertNew(HCkZip handle, const char *fileName, long beforeIndex);
BOOL CkZip_IsPasswordProtected(HCkZip handle, const char *zipFilename);
BOOL CkZip_IsUnlocked(HCkZip handle);
BOOL CkZip_NewZip(HCkZip handle, const char *zipFileName);
BOOL CkZip_OpenEmbedded(HCkZip handle, const char *exeFilename, const char *resourceName);
BOOL CkZip_OpenFromByteData(HCkZip handle, HCkByteData byteData);
BOOL CkZip_OpenFromMemory(HCkZip handle, const unsigned char *zipFileInMemory, unsigned long dataLen);
BOOL CkZip_OpenFromWeb(HCkZip handle, const char *url);
BOOL CkZip_OpenMyEmbedded(HCkZip handle, const char *resourceName);
BOOL CkZip_OpenZip(HCkZip handle, const char *zipFileName);
BOOL CkZip_QuickAppend(HCkZip handle, const char *zipFilename);
BOOL CkZip_RemoveEmbedded(HCkZip handle, const char *exeFilename, const char *resourceName);
BOOL CkZip_ReplaceEmbedded(HCkZip handle, const char *exeFilename, const char *resourceName, const char *zipFilename);
BOOL CkZip_SaveLastError(HCkZip handle, const char *filename);
void CkZip_SetCompressionLevel(HCkZip handle, int level);
void CkZip_SetExclusions(HCkZip handle, HCkStringArray excludePatterns);
void CkZip_SetExeConfigParam(HCkZip handle, const char *name, const char *value);
void CkZip_SetPassword(HCkZip handle, const char *password);
BOOL CkZip_UnlockComponent(HCkZip handle, const char *regCode);
int CkZip_Unzip(HCkZip handle, const char *dirPath);
int CkZip_UnzipInto(HCkZip handle, const char *dirPath);
int CkZip_UnzipMatching(HCkZip handle, const char *dirPath, const char *pattern, BOOL verbose);
int CkZip_UnzipMatchingInto(HCkZip handle, const char *dirPath, const char *pattern, BOOL verbose);
int CkZip_UnzipNewer(HCkZip handle, const char *dirPath);
BOOL CkZip_VerifyPassword(HCkZip handle);
BOOL CkZip_WriteExe(HCkZip handle, const char *filename);
BOOL CkZip_WriteExe2(HCkZip handle, const char *exeFilename, const char *outExeFilename, BOOL bAesEncrypt, int keyLength, const char *password);
BOOL CkZip_WriteExeToMemory(HCkZip handle, HCkByteData outBytes);
BOOL CkZip_WriteToMemory(HCkZip handle, HCkByteData bData);
BOOL CkZip_WriteZip(HCkZip handle);
BOOL CkZip_WriteZipAndClose(HCkZip handle);
const char *CkZip_appendFromDir(HCkZip handle);
const char *CkZip_autoRun(HCkZip handle);
const char *CkZip_autoRunParams(HCkZip handle);
const char *CkZip_decryptPassword(HCkZip handle);
const char *CkZip_encryptPassword(HCkZip handle);
const char *CkZip_exeDefaultDir(HCkZip handle);
const char *CkZip_exeIconFile(HCkZip handle);
const char *CkZip_exeSourceUrl(HCkZip handle);
const char *CkZip_exeTitle(HCkZip handle);
const char *CkZip_exeUnzipCaption(HCkZip handle);
const char *CkZip_exeUnzipDir(HCkZip handle);
const char *CkZip_exeXmlConfig(HCkZip handle);
const char *CkZip_fileName(HCkZip handle);
const char *CkZip_getDirectoryAsXML(HCkZip handle);
const char *CkZip_getExeConfigParam(HCkZip handle, const char *name);
const char *CkZip_lastErrorHtml(HCkZip handle);
const char *CkZip_lastErrorText(HCkZip handle);
const char *CkZip_lastErrorXml(HCkZip handle);
const char *CkZip_pathPrefix(HCkZip handle);
const char *CkZip_proxy(HCkZip handle);
const char *CkZip_tempDir(HCkZip handle);
const char *CkZip_version(HCkZip handle);
#endif
